!--------------------------------------------------- ! Scene 3: Bos !--------------------------------------------------- Object bosdeur with found_in tuin, door_dir e_to, door_to bos_1, react_before [; Climb, Go, GoIn, Enter: if (noun == self || noun == e_obj || noun == bos_1) { if(TuinNaarBos() == true) return true; }; ], has door scenery male open; Object bos_1 "Lopend op een pad in het woud" with description "Op de meest zonnige dagen is het al schemerig in dit dichte naaldbos, en in het holst van deze winternacht is het pikdonker. Een nauwelijks als zodanig herkenbaar pad loopt van het dorp in het westen naar het kasteel in het oosten. Te dichtbij, van links, klinkt het gehuil van een roedel wolven. In dit jaargetij is er geen wild te vinden, en zijn de wolven hongerig, brutaal en zelfs voor mensen gevaarlijk.", e_to bos_2, w_to "Het is verleidelijk om terug te gaan naar het dorp - verleidelijk, maar laf. De teerling is geworpen, Maartje moet bevrijd worden.", u_to "Zelfs in het beste licht en als er geen sneeuw ligt is het al niet gemakkelijk om in deze grote dennen te klimmen, maar in de huidige omstandigheden is het onmogelijk.", d_to "Plat op de grond in de sneeuw gaan liggen zou eerder koud dan nuttig zijn.", cant_go "Zomaar het bos in struinen zal je alleen verder van huis brengen.", before [; Listen: <>; ], has light; Object bomen "bomen" class Prop, with name 'boom' 'bomen' 'naaldboom' 'naaldbomen' 'bos' 'den' 'dennen' 'tak' 'takken' 'naaldbos', found_in bos_1 bos_2 bos_3, description "Hoog boven je uit torenen de woudreuzen. Het zijn decennia oude dennen, hun takken zwaar onder de last van de sneeuw. Terwijl je loopt zie je af en toe de maan tussen twee bomen doorkijken.", before [; Climb, Enter, GoIn, Go: if (wolvin.status ~= 99) { "Zelfs in het beste licht en als er geen sneeuw ligt is het al niet gemakkelijk om in deze grote dennen te klimmen, maar nu is het zeker onmogelijk."; } else { "Je bent geen eekhoorn!"; } ], has pluralname; Object bos_1_wolven "wolven" bos_1 class Prop, with name 'wolven' 'roedel' 'troep' 'gehuil' 'huilen', description "Het gehuil van de wolven links klinkt dichtbij, maar misschien zijn ze niet op jacht naar jou.", before [; Listen: <>; Attack: "Je zou het graag doen, maar de wolven zijn nog niet dicht genoeg genaderd."; ], has pluralname animate; Object bos_pad "pad" class Prop, with name 'pad' 'bospad' 'sneeuw', found_in bos_1 bos_2 bos_3, description "Het pad is bijna onzichtbaar onder de sneeuw die zich ook op de grond van het naaldbos heeft weten te nestelen.", before [; Cross: "Je staat al op het pad."; ], has ; Object bos_2 "Op een pad in het woud" with firsttime 0, description [; if (wolvin.status ~= 99) { print "Het pad is hier smal en kronkelig, en in de sneeuw nauwelijks te herkennen. Maanlicht schijnt slechts hier en daar tussen de beladen takken van de dennen door. Oostwaarts ligt het kasteel van de baron; naar het westen leiden je voetstappen terug naar het dorp.^"; } else { print "Het pad is hier smal en kronkelig, en in de sneeuw nauwelijks te herkennen. Maanlicht schijnt slechts hier en daar tussen de beladen takken van de dennen door. Oostwaarts ligt het stenen huis van de jagende man, naar het westen leiden de pootafdrukken van je prooi naar het land van de mensen.^"; } if(self.firsttime == 0) { StartDaemon(wolvin); }; self.firsttime = 1; return true; ], e_to bos_3, w_to bos_1, d_to "Plat op de grond in de sneeuw gaan liggen zou eerder koud dan nuttig zijn.", u_to [; if(action == ##go && noun == u_obj) { if (wolvin.status ~= 99) { "Zelfs in het beste licht en als er geen sneeuw ligt is het al niet gemakkelijk om in deze grote dennen te klimmen, maar in de huidige omstandigheden is het onmogelijk."; } if (wolvin.status == 99){ "Je bent geen eekhoorn!"; } } ], cant_go [; if (wolvin.status ~= 99) {"Zomaar het bos in struinen zal je alleen verder van huis brengen.";} else "Het stenen huis ligt in het oosten."; ], before [; Go: if(noun == w_obj) { if(wolvin.status < 5) { print "Weet je zeker dat je weg wilt vluchten voor de wolvin?^"; if(YesOrNo()) { print "^Hals over kop neem je de benen, terug naar het dorp, weg van de tanden en de ogen van de bloeddorstige monsters van het bos.^^ Halverwege moet je stoppen vanwege steken in je zij. Je ademt zwaar, en leunt even tegen een boom om uit te rusten. Een gevoel van schaamte overvalt je. Als je al voor de eerste de beste wolf terugdeinst, hoe kan je dan ooit Maartje redden uit de klauwen van de baron? Nee - opgeven is geen optie. Je moet terug.^"; PlayerTo(bos_1); StopDaemon(wolvin); wolvin.status = 11; remove wolvin; remove jongewolf; return true; } else { "^Je blijft staan waar je staat, vast van plan om niet te vluchten."; }; }; if(wolvin.status == 99) { "Het stenen man-huis ligt aan het andere einde van het man-pad. Dat is waar je heen moet."; }; }; if(noun == e_obj) { if(wolvin.status < 5) { print "Weet je zeker dat je wilt proberen door te lopen over het pad, langs de wolvin?^"; if(YesOrNo()) { print "^Voetje voor voetje schuifel je zo dicht mogelijk langs de bomen. De wolvin gromt vervaarlijk, en draait met je mee.^^~Geen angst tonen!~, houd je jezelf voor. Honden kunnen angst ruiken, en wolven zijn eigenlijk net wildere en slimmere honden. Of dat vertelt je jezelf toch."; VraagToets(0,0,0); print "Je houdt je gezicht strak in de plooi, en zonder je te haasten, maar ook zonder bangelijke bewegingen te maken, loop je verder, langs het punt waar je het dichtst bij de wolvin bent en dan een paar meter verder. Je hart slaat zo wild dat je verbaasd bent je ribben niet te horen kraken. Achteruit, met je gezicht naar de wolvin toe, loop je verder langs het pad. Rustig. Zonder te rennen. Alsof je haar geen moment hebt gevreesd.^^Zij blijft stokstijf staan, en kijkt je na totdat je uit het zich verdwenen bent. Maar ze komt je niet achterna.^"; PlayerTo(bos_3); StopDaemon(wolvin); wolvin.status = 12; remove wolvin; remove jongewolf; return true; } else { "^Je bijft als aan de grond genageld staan."; }; }; }; ], has light; Object wolvin bos_2 with short_name [; if(self has animate) {print "wolvin"; return;} print "dode wolvin"; return; ], description [; if (self.status <5) "Voor een wolvin is ze groot en buitengewoon fel, maar het is duidelijk dat de winter zijn tol eist: ze is mager, haast vel over been, en haar vacht is vuil en glansloos."; if (self.status > 4 && self.status ~= 99) "Het lichaam van de wolvin ligt levenloos in de sneeuw. Op haar snuit meen je een uitdrukking van diepe droefheid te lezen."; if (self.status == 99) "Je bent groot en sterk, en je voelt het warme bloed van de mens door je aderen stromen."; ], name 'wolvin' 'wolf' 'moeder', status 0, offered 0, daemon [; if(self.status == 0) print "^Vanuit de bomen aan de linkerkant van het pad springt plots een donkere schim naar voren. Het is een wolvin; ze blijft op enkele meters afstand van je staan, midden op het pad, jou fixerend met twee ogen waarin de maan zich spiegelt. Uit haar keel klinkt een fel gegrom.^"; give self ~scenery; if(self.status == 1) { print "^De wolvin open haar bek, twee rijen scherpe tanden ontblotend. Vanuit het bos sluipt een tweede gestalte naar haar toe: een nog jonge wolf, uitzonderlijk mager.^"; move jongewolf to bos_2; }; if(self.status == 2) print "^Aarzelend zet de wolvin twee stappen in je richting. In haar gegrom klinkt naast felheid ook angst mee.^"; if(self.status == 3) print "^De wolvin twijfelt nog of ze je wel of niet aan zal vallen. Dan piept het jonge wolfje, klagelijk, zwakjes, en zijn moeder vat de moed der wanhoop. Ze maakt zich klaar voor de sprong.^"; if(self.status == 4) { print "^Snel en plotseling als een bliksemschicht springt de wolvin je naar de keel. Je valt achterover, en zij staat bovenop je. Haar scherpe tanden zetten zich in je keel en je voelt, vol afschuw, hoe je luchtpijp aan stukken wordt gescheurd, hoe warm, zoet bloed over je tong stroomt, hoe je naar adem hapt als een vis op het droge, hoe de tanden van het uitgehongerde jonge wolfje je buik openrijten op zoek naar je dampende ingewanden, voordat alles zwart wordt."; VraagToets(0,0,0); BecomeWolf(); }; if(self.status < 4) {self.status++;} ], before [; Attack: if (self.status < 5 && parent(axe) == player) { print "Je grijpt de bijl stevig vast, zo stevig dat je knokkels wit worden. De wolf gromt, waarschuwend, maar met een ondertoon van paniek. Je zet een stap naar voren. Zij zet een halve stap naar achteren; alle haren in haar nek gaan recht overeind staan. Je zet nog een stap naar voren, en nog @'e@'en, en zij springt op je af - maar voordat haar tanden zich in je keel kunnen zetten heb jij het blad van de bijl dwars door haar ribben haar lichaam in geslagen, en met een zacht gejank valt ze voor je op de grond neer en ligt stil.^"; StopDaemon(wolvin); if(self.status == 1) { print "^Tussen de bomen, heel dicht bij, klink een hartverscheurend gehuil. Een klein, jong wolfje staart vanaf een veilige afstand naar het lijk van zijn moeder.^"; move jongewolf to bos_2; } if(self.status > 1) { print "^Het jonge wolfje huilt hartverscheurend, en springt dan weg, tussen de bomen. Vanaf een veilige afstand blijft het, jankend, naar het lijk van zijn moeder staren.^"; } wolvin.status = 5; give wolvin ~scenery; give wolvin ~animate; return true; }; if (self.status < 5 && parent(axe) ~= player) { print "Je houdt je handen tot vuisten gebald voor je uit, en zet voorzichtig een stap in de richting van de wolvin. De wolf gromt, waarschuwend, maar met een ondertoon van paniek. Je zet een stap naar voren. Zij zet een halve stap naar achteren; alle haren in haar nek gaan recht overeind staan. Je zet nog een stap naar voren, en nog een, en zij springt op je af - maar voordat haar tanden zich in je keel kunnen zetten sla jij haar kop van onderen uit de weg. Je valt achteruit, haar gewicht bovenop je, maar met een handige rol weet je onder haar weg te komen. De wolvin probeert nogmaals je keel te bereiken, maar jij hebt je handen al om de hare geslagen en je pint haar met je grote gewicht tegen de grond. Je knijpt, en knijpt, en slaat haar met de kop tegen de grond, terwijl zij wanhopig probeert zich los te werken. Haar speeksel loopt over je handen; haar bloed begint de sneeuw rood te kleuren; haar bewegingen worden langzaam zwakker. Minutenlang duurt de worsteling, maar uiteindelijk ligt zij stil, dood. Vermoeid en met kloppend hart sta je op.^"; StopDaemon(wolvin); if(self.status == 1) { print "^Tussen de bomen, heel dicht bij, klink een hartverscheurend gehuil. Een klein, jong wolfje staart vanaf een veilige afstand naar het lijk van zijn moeder.^"; move jongewolf to bos_2; } if(self.status > 1) { print "^Het jonge wolfje huilt hartverscheurend, en springt dan weg, tussen de bomen. Vanaf een veilige afstand blijft het, jankend, naar het lijk van zijn moeder staren.^"; } wolvin.status = 6; give wolvin ~scenery; give wolvin ~animate; return true; }; Touch: if (self.status < 5) { print "Zenuwachtig slik je, maar dan steek je je hand uit naar de wolf, terwijl je zachtjes lieve woordjes begint te mompelen.^^ ~Kom maar, wolfje. Kom maar. Lieve wolf. Lief, ja, lieve wolf. Kom maar...~^^ Aarzelend komt de wolvin dichterbij, onzeker over je intenties. Even ruikt ze aan je hand, likt hem dan. Jij zet je op je knie@:en in de sneeuw, kwetsbaar, en streelt zachtjes over de kop van de wolf. Ze loopt nog dichter naar je toen, en likt je gezicht. Je slaat je armen om haar hals heen, lachend.^^"; wolf_touch.select(99); if (self.status == 9) { print "Alle spanning verdwijnt uit haar spieren. Minutenlang blijven jullie zo zitten: jij omarmt haar, zij laat haar kop op je schouder rusten."; if (parent(jongewolf) == bos_2) print " Ook het jonge wolfje kruipt, na enig twijfelen, dicht tegen je aan."; print "^^Maar je kan Maartje en het belang van je queeste niet uit je hoofd zetten. Je laat de wolvin los en staat op.^^ ~Het spijt me, maar ik kan verder niets voor je doen. Ik moet gaan, om mijn dochter te redden.~^^ De "; if (parent(jongewolf) == bos_2){ print "beide wolven kijken je begrijpend aan. Dan lopen ze op hun gemak terug het bos in, op zoek naar een andere prooi die hun leven kan redden.^"; }else{ print "wolf kijkt je begrijpend aan. Dan loopt ze op haar gemak terug het bos in, waar een klein, mager wolfje zich bij haar voegt. Samen gaan ze op zoek naar een andere prooi die hun leven kan redden in deze barre winter.^"; }; StopDaemon(wolvin); remove wolvin; remove jongewolf; }; if (self.status == 10) { if (parent(jongewolf) == bos_2){ print "Het jonge wolfje stoot een hartverscheurende kreet uit zodra hij ziet wat je gedaan hebt. In zijn ogen brandt haat, en even lijkt het of hij jou, de verrader, wil aanvliegen. Dan overwint zijn vrees en schiet hij, nog steeds klaaglijk huilend, het woud in.^"; }else{ print "Vanuit het bos klinkt plots een hartverscheurende kreet. Tussen de bomen langs het pad staat een jong wolfje, broodmager. In zijn ogen brandt haat, en even lijkt het of hij jou, de verrader die zijn moeder gedood heeft, wil aanvliegen. Dan overwint zijn vrees en schiet hij, nog steeds klaaglijk huilend, het woud in.^"; }; StopDaemon(wolvin); remove jongewolf; }; return true; }; JumpOver: if(self.status < 5) { print "Het is waanzin; maar, zo bedenk je, dat is deze hele onderneming hoe dan ook. Je zet een aantal stappen naar achteren, naar het schijnt om te vluchten; dan sprint je plotseling naar voren, recht op de wolvin af - die geschrokken wat achteruit deinst - en net voordat je haar bereikt spring je..."; VraagToets(0,0,0); print "...over haar heen. Je komt met je gezicht terecht in de dikke laag sneeuw, maar strompelt meteen weer overeind en zet het op een rennen. Achter je klinkt boos gehuil, en je meent iets door de sneeuw te horen rennen, maar je kijkt niet naar achter - heel je lichaam en heel je geest zijn gericht op wat voor je ligt, en hoe je daar zo snel mogelijk kan komen."; VraagToets(0,0,0); print "Je weet niet hoe lang je je sprint hebt volgehouden, maar wanneer je je omdraait, hijgend, is er achter je geen wolf meer te bekennen.^"; PlayerTo(bos_3); StopDaemon(wolvin); wolvin.status = 13; remove wolvin; remove jongewolf; return true; } Spreek: if (self.status < 5) { wolf_spraak.select(1); return true; } ], orders [; Eat: if(self.status < 5) { print "Je maakt de bovenste knoopjes van je jas los en gaat plat op de grond in de sneeuw liggen, je blote hals naar de wolvin toegewend. Wantrouwend loopt ze op je af, maar haar honger is groter dan haar angst. Scherpe tanden zetten zich in je keel en je voelt, kalm en afstandelijk, hoe je luchtpijp aan stukken wordt gescheurd, hoe warm, zoet bloed over je tong stroomt, voordat alles zwart wordt."; VraagToets(0,0,0); BecomeWolf(); self.offered = 1; return true; }; Unlock, Lock, SwitchOn, SwitchOff, Open, Close, Disrobe, Wear, Wave, ThrowAt, Tie, Fill, Swing, Rub, Squeeze: if(self.status == 99){ "Dat kan niet, zonder handen."; }; Take: if(self.status == 99){ "Je houdt je bek liever vrij om mee te bijten."; }; ], react_before [; Drop, Give, ThrowAt: if (wolvin.status < 5 && second ~= jongewolf) { if (noun == dagboek && parent(dagboek) == player) { remove dagboek; remove wolvin; remove jongewolf; print "Je pakt Maartjes dagboek en werpt het naar de wolvin toe, in de hoop haar aandacht af te leiden. Het komt naast haar op de grond terecht, open, de zwarte bladzijden boven. Onmiddellijk, en met een beangstigende woestheid, springt de wolvin op het dagboek toe en begint de bladzijden eruit te scheuren. "; if(wolvin.status == 1) { print "Vanuit het kreupelhout slaat een klein, jong, uitzonderlijk mager wolfje zijn moeder gade.^^Zodra ze alle pagina's uit het dagboek heeft gescheurd verzamelt de wolvin de buit in haar bek, en achteruit lopend, geen moment haar ogen van jou afwendend, voegt ze zich bij haar jong. Wanneer ze tussen de bomen is gekomen draait ze zich om en verdwijnt met grote sprongen het bos in. Het kleine wolfje volgt haar met dezelfde verrassende snelheid.^"; } else { print "Het jonge wolfje voegt zich bij zijn moeder, en verzamelt de losgescheurde bladzijden in zijn bek, zonder zijn angstige ogen ook maar een seconde van jouw gezicht af te wenden. Na een paar ogenblikken is hun werk gedaan: met hun buit in hun bek draaien de wolven zich om en verdwijnen met grote sprongen het bos is.^"; }; StopDaemon(wolvin); move kaft to bos_2; print "^In de sneeuw ligt alleen nog de kaft van het dagboek.^"; wolvin.status = 7; return true; }; if (noun == beer && parent(beer) == player) { remove beer; remove wolvin; remove jongewolf; print "Je pakt Bruin. Zijn knoopogen kijken je smekend aan.^^ ~Sorry Bruin,~ zeg je, en werpt hem dan naar de wolvin, in de hoop haar aandacht af te leiden.^^ Nog voor de knuffel de grond heeft bereikt heeft zij hem in haar bek gevangen. "; if(wolvin.status == 1) { print "Uit het bos loopt een klein, uitzonderlijk mager wolfje het pad op, naar zijn moeder en haar buit. Het begint aan het hoofd van Bruin te trekken, dat na enkele rukken scheurend los laat. Dan verdwijnen moeder en kind het bos in, jou behoedzaam in de gaten houdend, elk met een deel van Maartjes trouwe vriend tussen hun tanden geklemd.^"; } else { print "Het jonge wolfje loopt naar zijn moeder toe en begint aan het hoofd van Bruin te trekken. Na enkele rukken laat dat scheurend los. Dan verdwijnen moeder en kind het bos in, jou behoedzaam in de gaten houdend, elk met een deel van Maartjes trouwe vriend tussen hun tanden geklemd.^"; }; StopDaemon(wolvin); wolvin.status = 8; return true; }; }; Take: if(self.status < 5) "De wolvin ziet er niet uit alsof ze zich zomaar zal laten oppakken."; if(self hasnt animate) "Je voelt er weinig voor om met het zware lijk van een wolf rond te lopen."; ], life [; Kiss: if (self.status < 5) {<>;}; Show: if (self.status < 4) { if(noun == beer) "De wolvin kijkt verlekkerd naar de malse knuffelbeer."; if(noun == dagboek) "De wolvin bekijkt het dagboek met begerige ogen."; } ], has scenery female animate; Object jongewolf "jonge wolf" with pname '.p' 'wolfje' '.p' 'jonge' 'wolf' '.p' 'jong' '.p' 'kind' '.p' 'zoon', short_name [; if(self has animate && wolvin.status ~= 99) {print "jonge wolf"; return;} if(self has animate && wolvin.status == 99) {print "je jong"; return;} print "dood wolfje"; return; ], description "Het jonge wolfje heeft net als zijn moeder een donkergrijze vacht, vies en glansloos geworden door ontberingen. Je kan al zijn ribben tellen, zo mager is het; als de moeder niet snel een prooi vindt zal het de winter niet overleven.", before [; Take: if(wolvin.status == 5 || wolvin.status == 6) { "Het wolfje deinst achteruit zodra je naar hem toe loopt."; } else if (wolvin.status < 5) { "Je zal eerst met zijn moeder moeten afrekenen voordat je kunt proberen het jonge wolfje op te pakken - hoewel hijzelf er ook niet uitziet alsof hij het gaat toelaten."; } else if (wolvin.status == 99) { "Hoe het ook tegen je instincten ingaat, je weet dat het ditmaal veiliger is je jong alleen achter te laten dan hem mee te nemen naar het man-huis."; }; Touch: if(wolvin.status == 5 || wolvin.status == 6) { "Het wolfje deinst achteruit zodra je naar hem toe loopt."; } else if (wolvin.status < 5) { "Je zal eerst met zijn moeder moeten afrekenen voordat je kunt proberen het jonge wolfje aan te raken - hoewel hij ook zelf niet bepaald vriendelijk naar je kijkt."; } else if (wolvin.status == 99) { "Je likt je jong en bijt hem zachtjes en speels even in zijn nekvel. Met grote ogen vol vertrouwen kijkt hij je aan en gromt tevreden, voordat hij zich weer op de prooi stort."; }; Push, Pull: if(wolvin.status == 5 || wolvin.status == 6) { "Het wolfje deinst achteruit zodra je naar hem toeloopt."; } else if (wolvin.status < 5) { "De wolvin zal je zeker niet met het wolfje laten sollen."; } else if (wolvin.status == 99) { "Waarom zou je aan je kind willen duwen of trekken?"; }; Attack: if(wolvin.status == 5 || wolvin.status == 6) { attack_wolfje.select(1); return true; } else if (wolvin.status < 5) { "Zijn moeder zal hem zeker proberen te beschermen."; } else if (wolvin.status == 99) { "Je eigen kind val je niet aan."; }; Spreek: if(wolvin.status == 5 || wolvin.status == 6) { spreek_wolfje.select(1); return true; } else if (wolvin.status < 5) { "Zijn moeder eist op dit moment al je aandacht op."; } else if (wolvin.status == 99) { "Je gromt liefkozend naar je jong. Hij gromt tevreden terug."; }; ], react_before [; ThrowAt, Give: if (wolvin.status < 5) { if(noun == dagboek && second == self) {<>;} if(noun == beer && second == self) {<>;} return false; } ], life [; Kiss: if(wolvin.status == 5 || wolvin.status == 6) { "Het wolfje deinst achteruit zodra je naar hem toe loopt."; } else if (wolvin.status < 5) { "De wolvin zal je zeker niet met het wolfje laten sollen."; } else if (wolvin.status == 99) { "Wolven zoenen niet."; }; ], has animate male; Object dode_ik "aangevreten lichaam" with name 'dode' 'lichaam' 'mens' 'lijk' 'mij' 'houthakker', description "Een half opgegeten lichaam van een mens ligt in de sneeuw. Rondom hem kleurt zijn bloed de sneeuw rood.", has ; Object kaft "kaft van Maartjes dagboek" with name 'kaft' 'dagboek', description "Een kaft, dik karton omwikkeld met rood nep-leer, is alles wat er rest van Maartjes dagboek.", before [; Burn: "Het nep-leer brandt niet."; ], has male; Object bos_3 "Op een pad in het woud" with description [; if (wolvin.status ~= 99) { "Vanaf dit stuk van het kronkelige bospad kan je het kasteel van de baron in het oosten zien oprijzen. Het silhouet met de drie scheve torens staat afgetekend tegen de sterrenhemel. Een spoor van voetstappen - de jouwe - geeft het pad in het westen aan. Hier, zo dicht bij het domein van de baron, zijn zelfs de wolven stil."; } else { "Vanaf dit stuk van het kronkelige bospad kan je het stenen huis van de kwade mens in het oosten zien oprijzen. Het silhouet met de drie scheve torens staat afgetekend tegen de sterrenhemel. Een spoor van pootafdrukken - de jouwe - geeft het pad in het westen aan. Het is hier stil; zelfs het gehuil van je roedel kan je niet meer horen."; } ], e_to ophaalbrug, w_to bos_2, d_to "Plat op de grond in de sneeuw gaan liggen zou eerder koud dan nuttig zijn.", cant_go [; if (wolvin.status ~= 99) {"Zomaar het bos in struinen zal je alleen verder van huis brengen.";} else "Het stenen huis ligt in het oosten."; ], before [; Go: if(noun == w_obj) { if(wolvin.status == 12) { "Misschien dat de wolvin je ditmaal niet zo gemakkelijk laat gaan - het is beter voorlopig niet terug te gaan."; }; if(wolvin.status == 13) { "Na je snelle sprint van zo@:even voel je er weinig voor weer terug te keren naar de gevaarlijke wolvin."; }; if(wolvin.status == 15) { "Wie weet hoe lang de wolvin kalm blijft? Je besluit het zekere voor het onzekere te nemen, en er niet terug te keren zolang het niet hoeft."; }; if(wolvin.status == 25 || wolvin.status == 26) { "Je kan het jonge wolfje beter rustig laten eten. Hij heeft vannacht al genoeg te verduren gehad."; }; } Listen: "Het is hier volkomen stil. Onnatuurlijk stil."; ], has light; Object kasteel_in_bos "kasteel" bos_3 class Prop, with name 'kasteel' 'slot' 'huis' 'stenen' 'toren' 'torens', description [; if (wolvin.status == 99) { "Het stenen huis van de boze mens is groot en hard. Je bent er nog nooit binnen geweest, en weet niet wat voor gevaren er zich genesteld hebben."; } else "Het kasteel van de baron is een wonderlijk bouwwerk: het heeft drie grote torens, waarvan de buitenste twee naar buiten hellen. De middelste toren, breder en hoger dan de andere, lijkt altijd te leunen naar de kant waarvan je hem bekijkt. In het slot brandt voor zover je kan zien geen enkel licht."; ], has ; Object afdrukken "voetstappen" bos_3 class Prop, with name 'pootafdrukken' 'voetstappen' 'stappen' 'afdrukken' 'sporen', description "Ze staan precies waar jij gelopen hebt, vanuit het westen hierheen.", has ; Object wolf_touch class Character, with quip [a b; switch (a) { 993: qtype = MainMenu; qqon = true; killz = true; killq = true; 994: return Qlist(b, 2, 1, 2); 11: "Kalmeer de wolvin volledig."; 12: print "^~Goed zo, rustig maar. We willen allebei niet vechten, wel?~, zeg je zachtjes in haar oor.^^"; wolvin.status = 9; return true; 13: qqon = true; killz = true; killq = true; 21: "Breek haar nek."; 22: print "^~Goed zo, rustig maar,~ fluister je in het oor van de wolvin. Dan, plots, zet je zoveel kracht als je kunt, en een droge krak geeft je te kennen dat haar nekwervels zijn gebroken. Ze stoot nog een zacht gehuil uit, maar ligt dan stil en slap in je armen.^^"; wolvin.status = 10; give wolvin ~scenery; give wolvin ~animate; return true; 23: qqon = true; killz = true; killq = true; } rfalse; ], has concealed; Object wolf_spraak class Character, with quip [a b; switch (a) { 13: qtype = MainMenu; qqon = true; killz = true; killq = true; 14: return Qlist(b, 3, 2, 3, 4); 21: "Grom kwaad en dreigend."; 22: print "^De wolvin zet haar nekharen overeind en gromt fel terug. Haar spieren zijn gespannen, klaar voor de sprong.^^"; 23: killz = true; killq = true; 24: return Qlist(b, 3, 5, 6, 7); 31: "Grom zachtjes en kalmerend."; 32: print "^Even lijkt de wolvin verbaasd dat ze met je kan communiceren. Dan zie je haar enigszins ontspannen, omdat het duidelijk is dat je geen kwaad in de zin hebt.^^"; 33: killz = true; killq = true; 34: return Qlist(b, 3, 8, 9, 4); 41: "Huil droevig tot de maan."; 42: print "^Je heft je hoofd en huilt en huilt, en het klinkt precies zoals de klaagzang van een wolf. Nooit heb je geweten dat er zoveel verdriet en smart in je hart zaten verborgen; nu, helder als kristal, klinken de tonen van je leed door de winternacht. Na enkele ogenblikken volgt de wolvin je voorbeeld, en gezamenlijk huilen jullie een harten brekend duet."; VraagToets(0,0,0); print "Na een eeuwigheid vallen jullie stil. De wolvin kijkt je aan, buigt dan eenmaal haar hoofd, en verdwijnt in de besneeuwde bossen."; if(wolvin.status>1) print " Haar jong volgt haar."; print "^"; StopDaemon(wolvin); wolvin.status = 14; remove wolvin; remove jongewolf; return true; 43: killz = true; killq = true; 51: "Val haar aan."; 52: <>; 53: killz = true; killq = true; 61: "Grom nogmaals, fel."; 62: if(wolvin.status == 1) { print "^De wolvin open haar bek, twee rijen scherpe tanden ontblotend. Vanuit het bos sluipt een tweede gestalte naar haar toe: een nog jonge wolf, uitzonderlijk mager."; VraagToets(0,0,0); } wolvin.status = 4; return true; 63: killz = true; killq = true; 71: "Bied haar je keel aan."; 72: action = ##Eat; actor = wolvin; noun = player; return wolvin.orders(); 73: killz = true; killq = true; 81: "Loop haar voorbij."; 82: print "Nu ze gekalmeerd is, is het gemakkelijk om voorbij de wolvin te lopen. Ze staart je na, maar maakt geen aanstalten om je achterna te komen."; VraagToets(0,0,0); print "Wanneer ze uit het zicht is verdwenen hoor je achter je haar gehuil de stilte van de nacht doorbreken. Ze klinkt eenzaam en verlaten.^^ Je loopt verder, richting het kasteel van de baron.^"; PlayerTo(bos_3); StopDaemon(wolvin); wolvin.status = 15; remove wolvin; remove jongewolf; return true; 83: killz = true; killq = true; 91: "Aai haar."; 92: <>; 93: killz = true; killq = true; } rfalse; ], has concealed; Object attack_wolfje class Character, with quip [a b; switch (a) { 13: qtype = MainMenu; qqon = true; killz = true; killq = true; 14: return Qlist(b, 3, 2, 3, 4); 21: "Dood hem, omdat een wereld zonder wolven een betere plaats is."; 22: if (parent(axe) == player) { print "Je grijnst, rent op het jonge wolfje af, en nog voordat hij iets heeft kunnen doen sla je zijn lichaam met een enkele slag van de bijl doormidden. Weer een wolf minder. Het bloed gutst in dikke stromen over de grond, terwijl de warme ingewanden langzaam wegzakken in de smeltende sneeuw.^"; } else { print "Je grijnst, en springt met een snoekduik bovenop het jonge wolfje. Vergeleken met zijn moeder is hij een gemakkelijke prooi: met je sterke armen breek je zonder veel moeite zijn ruggengraat. Het kleine lichaampje blijft stil liggen in de sneeuw. Weer een wolf minder.^"; } give jongewolf ~animate; give jongewolf ~male; return true; 23: qqon = true; killz = true; killq = true; 31: "Dood hem, om hem het langzame leed van de hongerdood te besparen."; 32: print "~Kom maar, wolfje,~ zeg je zachtjes, terwijl je je op je knie@:en laat zakken. Met lieve woordjes en kalmerende gebaren weet je het kleine dier, dat zich na de dood van zijn moeder in een shocktoestand bevindt, dicht te naderen."; VraagToets(0,0,0); print "~Het spijt me, maar het is beter zo,~ fluister je. Met een snelle beweging pak je zijn kop en breek je zijn nek. Het kleine lichaampje wordt onmiddellijk slap; uit de bek van het wolfje komt alleen nog heel even een klagend gejank - dan is hij stil en dooft het licht in zijn ogen.^^ Tranen glijden langs je wangen.^"; give jongewolf ~animate; give jongewolf ~male; return true; 33: qqon = true; killz = true; killq = true; 41: "Jaag hem weg, het bos in."; 42: if (parent(axe) == player) { print "Luid schreeuwend, zwaaiend met je bijl, ren je op het diertje af, dat zich schielijk uit de voeten maakt. Het rent zo snel als het kan het bos in, en al gauw zie je het niet meer.^"; } else { print "Luid schreeuwend en met je armen zwaaiend ren je op het diertje af, dat zich schielijk uit de voeten maakt. Het rent zo snel als het kan het bos in, en al gauw zie je het niet meer.^"; } remove jongewolf; return true; 43: qqon = true; killz = true; killq = true; } rfalse; ], has concealed; Object spreek_wolfje class Character, with quip [a b; switch (a) { 13: qtype = MainMenu; qqon = true; killz = true; killq = true; 14: return Qlist(b, 3, 2, 3, 4); 21: "~Ga weg, dwaas beest! Vort!~"; 22: print "Luid schreeuwend en met je armen zwaaiend ren je op het diertje af, dat zich schielijk uit de voeten maakt. Het rent zo snel als het kan het bos in, en al gauw zie je het niet meer.^"; remove jongewolf; return true; 23: qqon = true; killz = true; killq = true; 31: "~Ik... het... het spijt me dat ik je moeder heb gedood.~"; 32: print "Het jonge wolfje kijkt je bedroefd, maar niet-begrijpend, aan.^^"; 33: qqon = true; killz = true; killq = true; 34: return Qlist(b, 4, 5, 6, 7, 4); 41: "Hef een jammerklacht aan over zijn verloren moeder."; 42: print "^Je heft je hoofd en huilt en huilt, en het klinkt precies zoals de klaagzang van een wolf. Nooit heb je geweten dat er zoveel verdriet en smart in je hart zat verborgen; nu, helder als kristal, klinken de tonen van je leed door de winternacht. Na enkele ogenblikken volgt het jonge wolfje je voorbeeld, en gezamenlijk huilen jullie om de dood van zijn moeder."; VraagToets(0,0,0); print "Na een eeuwigheid vallen jullie stil. Het wolfje kijkt je aan - in zijn ogen is alleen smart te lezen. Dan werpt hij een laatste blik op het levenloze lichaam van zijn moeder, draait zich om en verdwijnt voor altijd in de besneeuwde bossen.^"; remove jongewolf; return true; 43: qqon = true; killz = true; killq = true; 51: "~Alleen kan je het nog niet redden. Het is het beste wanneer ik je de langzame hongerdood bespaar.~"; 52: print "~Kom maar, wolfje,~ zeg je zachtjes, terwijl je je op je knie@:en laat zakken. Met lieve woordjes en kalmerende gebaren weet je het kleine dier, dat zich na de dood van zijn moeder in een shocktoestand bevindt, dicht te naderen."; VraagToets(0,0,0); print "~Het spijt me, maar het is beter zo,~ fluister je. Met een snelle beweging pak je zijn kop en breek je zijn nek. Het kleine lichaampje wordt onmiddellijk slap; uit de bek van het wolfje komt alleen nog heel even een klagend gejank - dan is hij stil en dooft het licht in zijn ogen.^^ Tranen glijden langs je wangen.^"; give jongewolf ~animate; give jongewolf ~male; return true; 53: qqon = true; killz = true; killq = true; 61: "~Alles komt goed, ooit. Je zal over het verlies heen komen en voor jezelf leren zorgen.~"; 62: print "De ogen van het wolvenjong dwalen over het ontzielde lichaam van zijn moeder. Hij heft zijn kleine kopje en huilt nog eenmaal, een scherpe noot van pijn en ontreddering. Dan draait hij zich om en loopt alleen en zonder om te kijken het uitgestrekte woud in.^"; remove jongewolf; return true; 63: qqon = true; killz = true; killq = true; 71: "~In de toekomst zal je je eigen weg moeten gaan, maar nu kan ik je proberen te helpen. Laat je moeder je een laatste dienst bewijzen: hoe gruwelijk het ook is, je moet haar lichaam opeten om in leven te blijven.~"; 72: print "Het wolfje lijkt je te begrijpen, maar durft niet naderbij te komen zolang jij bij het lichaam staat. Rustig loop je weg, richting het kasteel van de baron. Pas wanneer je zover bent gelopen dat hij bijna niet meer zichtbaar is in het donker van de nacht komt het wolfje tussen de bomen tevoorschijn en begint, eerst met tegenzin, dan al snel met meer enthousiasme, het dode lichaam van zijn moeder te verorberen.^^ Gefascineerd, en met een mengeling van afschuw en vertedering, sla je het schouwspel een tijdje gade. Dan zet je de pas er weer in: je moet je dochter nog bevrijden.^"; wolvin.status = wolvin.status + 20; remove jongewolf; PlayerTo(bos_3); return true; 73: qqon = true; killz = true; killq = true; } rfalse; ], has concealed;